package com.cheetah.start.module.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cheetah.start.common.query.PageQuery;
import com.cheetah.start.module.system.domain.SysAdmin;

/**
 * @author Feel
 * @create 2021/7/18
 **/
public interface SysAdminService extends IService<SysAdmin> {


    /**
     * 账户查询
     *
     * @param name 的名字
     * @return {@link SysAdmin}
     */
    SysAdmin getByName(String name);

    /**
     * 保存角色 id
     *
     * @param sysAdmin 系统管理员
     * @return boolean
     */
    boolean saveWithRoleIds(SysAdmin sysAdmin);

    /**
     * 更新通过 id 与角色
     *
     * @param sysAdmin 系统管理员
     * @return boolean
     */
    boolean updateByIdWithRole(SysAdmin sysAdmin);

    /**
     * 是否重复
     *
     * @param sysAdmin 系统管理员
     * @return boolean
     */
    boolean isRepeat(SysAdmin sysAdmin);

    /**
     * 页面列表
     *
     * @param pageQuery 页面查询
     * @param sysAdmin  系统管理员
     * @return {@link Page}<{@link SysAdmin}>
     */
    Page<SysAdmin> pageList(PageQuery pageQuery, SysAdmin sysAdmin);
}
